package homework;

public class homework2 {
    public static void main(String[] args) {
        //1.
        int a1;//声明一个变量
        int a2,a3,a4;//一次声明多个变量

        int a5 = 250;//声明变量直接初始化
        int a6;
        a6 = 250;//先声明 后初始化
        int g = 250;
        int h = g + 10;
        System.out.println(h);//取250 加10 = 260
        g = g + 10;//本身增加10 = 260

        int z1,$_1,_1z;
//        int 1z; 变量名不能以数字开头
//        int a*b; 变量名中不能存在除 _ 和 $ 之外的其他任何符号

        //2.
        System.out.println(5/2); //2
        System.out.println(2/5); //0
        System.out.println(5.0/2); //2.5
        int b3 = 100000000;
        int b4 = 200000000;
        System.out.println(b3+b4);//这里会溢出 因为int类型最大长度为20多个亿

        //3.
        long c1 = 250L;
        long c2 = 300L;
        System.out.println(10000000000L*2+1);

        //4.
        double d1 = 1.1;
        float d2 = 2.2F;
        System.out.println(5.0-4.9);
        System.out.println(1+2.0);

        //5.
        boolean f1 = true;
        boolean f2 = false;
        //boolean f3 = 250; 布尔型只能存放 true 和 false

        //6.
        char g1 = ' ';
        char g2 = '6';
        char g3 = 'A';
        char g4 = '我';
        char g7 = '&';
        //char g5 = '10'; 10在是两个字符 单引号里面只能放一个字符
        char g6 = '\'';

        int g8 = 'A';
        char g9 = 99;

        //7.
        int h1 = 25;
        double h2 = h1;//自动类型转换

        long h3 = h1;//自动类型转换
        int h4 = (int) h3;//强制类型转换
        int h5 = (int)h2;//强制类型转换

        long h6 = 10000000000L;
        int h7 = (int)h6;//溢出 因为int类型最大范围20多个亿
        double h8 = 3.141516123;
        int h9 = (int)h8;//丢失精度 得3

        //8. byte short char 运算时会先转成int然后计算，得到的结果为int型 所以需要强制转换回来
        byte i1 = 5;
        byte i2 = 6;
        byte i3 = (byte)(i1 + i2);
        System.out.println(2+2); //4
        System.out.println(2+'2'); // 2 + 50 = 52
        System.out.println('2'+'2'); // 50 + 50 = 100





    }
}
